package com.ruikc.study.demo.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;

import java.io.Serial;


/**
 * 商品库存表 实体类。
 *
 * @author zhiyuan
 * @since 2025-02-22
 */
@Table("product_store")
public class ProductStore implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 商品库存唯一标识符，自增主键
     */
    @Id(keyType = KeyType.Auto)
    private Integer storeId;

    /**
     * 关联的商品 ID，外键关联 product 表的 product_id
     */
    private Integer productId;

    /**
     * 批号
     */
    private String storeCode;

    /**
     * 创建时间
     */
    private String createdAt;

    /**
     * 更新时间
     */
    private String updatedAt;

    /**
     * 删除时间，若未删除则为空
     */
    private String deletedAt;

    /**
     * 基本单位
     */
    private String unit;

    /**
     * 生产日期
     */
    private String productDate;

    /**
     * 失效日期
     */
    private String outDate;

    /**
     * 商品规格ID
     */
    private Integer specId;

    /**
     * 库存数量
     */
    private Integer leftNum;

    public Integer getStoreId() {
        return storeId;
    }

    public void setStoreId(Integer storeId) {
        this.storeId = storeId;
    }

    public Integer getProductId() {
        return productId;
    }

    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    public String getStoreCode() {
        return storeCode;
    }

    public void setStoreCode(String storeCode) {
        this.storeCode = storeCode;
    }

    public String getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(String createdAt) {
        this.createdAt = createdAt;
    }

    public String getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(String updatedAt) {
        this.updatedAt = updatedAt;
    }

    public String getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(String deletedAt) {
        this.deletedAt = deletedAt;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getProductDate() {
        return productDate;
    }

    public void setProductDate(String productDate) {
        this.productDate = productDate;
    }

    public String getOutDate() {
        return outDate;
    }

    public void setOutDate(String outDate) {
        this.outDate = outDate;
    }

    public Integer getSpecId() {
        return specId;
    }

    public void setSpecId(Integer specId) {
        this.specId = specId;
    }

    public Integer getLeftNum() {
        return leftNum;
    }

    public void setLeftNum(Integer leftNum) {
        this.leftNum = leftNum;
    }

}
